package alp.starcode.nudtportal.framework.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * log_module_access（用户行为日志表）
 * </p>
 *
 * @author xwx
 * @since 2023-08-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("log_module_access")
@ApiModel(value = "LogModuleAccess对象", description = "log_module_access（用户行为日志表）")
public class LogModuleAccess extends Model<LogModuleAccess> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "访问流水号")
    @TableId("module_access_id")
    private String moduleAccessId;

    @ApiModelProperty(value = "用户流水号")
    @TableField("user_id")
    private String userId;

    @ApiModelProperty(value = "一卡通卡号")
    @TableField("campus_number")
    private String campusNumber;

    @ApiModelProperty(value = "登录账号")
    @TableField("login_account")
    private String loginAccount;

    @ApiModelProperty(value = "模块流水号")
    @TableField("module_id")
    private String moduleId;

    @ApiModelProperty(value = "模块名称")
    @TableField("module_name")
    private String moduleName;

    @ApiModelProperty(value = "模块类型")
    @TableField("module_type")
    private Integer moduleType;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Long createTime;

    @ApiModelProperty(value = "修改时间")
    @TableField("update_time")
    private Long updateTime;

    @ApiModelProperty(value = "模块分类名称")
    @TableField("module_class")
    private String moduleClass;

    @ApiModelProperty(value = "模块分类id")
    @TableField("module_class_uuid")
    private String moduleClassUuid;

    @ApiModelProperty("页面路由")
    @TableField("module_entrance")
    private String moduleEntrance;

    @ApiModelProperty("附带参数")
    @TableField("attach_data")
    private String attachData;

    @ApiModelProperty(value = "搜索key信息")
    @TableField("search_str")
    private String searchStr;

    @Override
    protected Serializable pkVal() {
        return this.moduleAccessId;
    }

}
